package top.lidee.common.service.twice.third.ali;

import top.lidee.common.dto.AccountInfo;
import top.lidee.framework.result.ResponseResult;
import top.lidee.repository.model.twice.pojo.management.TpbAliBankAccountEntity;

import java.util.Map;

/**
 * @author 张一恒
 * @version 1.0
 * @description: ant.merchant.expand.indirect.zft.simplecreate(直付通/服务商二级商户标准进件)
 * @date 2024/9/26 13:55
 */
public interface ZftSimpleCreateService {
    /**
     * @description 服务商二级商户进件
     * @param storeId
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/9/26 13:59
     */
    ResponseResult create(Integer storeId, AccountInfo accountInfo);

    /**
     * @description 直付通/服务商二级商户进件审核通过消息
     * @param charset
     * @param bizContent
     * @param msgAppId
     * @param utcTimestamp
     * @param version
     * @param signType
     * @param notifyType
     * @param notifyId
     * @param appId
     * @param sign
     * @param msgMethod
     * @param msgType
     * @param encryptType
     * @param notifyTime
     * @param authAppId
     * @return java.lang.String
     * @author zhangyiheng
     * @date 2024/9/30 12:37
     */
    String alipaySuccessInfo(String charset, String bizContent, String msgAppId, String utcTimestamp, String version, String signType, String notifyType, String notifyId, String appId, String sign, String msgMethod, String msgType, String encryptType, String notifyTime, String authAppId);

    /**
     * @description 直付通/服务商二级商户进件拒绝消息
     * @param charset
     * @param bizContent
     * @param msgAppId
     * @param utcTimestamp
     * @param version
     * @param signType
     * @param notifyType
     * @param notifyId
     * @param appId
     * @param sign
     * @param msgMethod
     * @param msgType
     * @param encryptType
     * @param notifyTime
     * @param authAppId
     * @return java.lang.String
     * @author zhangyiheng
     * @date 2024/9/30 14:02
     */
    String alipayFailInfo(String charset, String bizContent, String msgAppId, String utcTimestamp, String version, String signType, String notifyType, String notifyId, String appId, String sign, String msgMethod, String msgType, String encryptType, String notifyTime, String authAppId);

    /**
     * @description 直付通/服务商二级商户入驻进度查询
     * @param orderId 
     * @param externalId 
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng 
     * @date 2024/9/30 14:11
     */
    ResponseResult progressInquiry(String orderId, String externalId);
}
